import Main from '@/components/main'
import parentView from '@/components/parent-view'

/**
 * iview-admin中meta除了原生参数外可配置的参数:
 * meta: {
 *  title: { String|Number|Function }
 *         显示在侧边栏、面包屑和标签栏的文字
 *         使用'{{ 多语言字段 }}'形式结合多语言使用，例子看多语言的路由配置;
 *         可以传入一个回调函数，参数是当前路由对象，例子看动态路由和带参路由
 *  hideInMenu: (false) 设为true后在左侧菜单不会显示该页面选项
 *  notCache: (false) 设为true后页面不会缓存
 *  access: (null) 可访问该页面的权限数组，当前路由设置的权限会影响子路由
 *  icon: (-) 该页面在左侧菜单、面包屑和标签导航处显示的图标，如果是自定义图标，需要在图标名称前加下划线'_'
 *  beforeCloseName: (-) 设置该字段，则在关闭当前tab页时会去'@/router/before-close.js'里寻找该字段名对应的方法，作为关闭前的钩子函数
 * }
 */

export default [
  {
    path: '/login',
    name: 'login',
    meta: {
      title: 'Login - 登录',
      hideInMenu: true
    },
    component: () => import('@/view/login/login.vue')
  },
  {
    path: '/',
    name: '_home',
    redirect: '/home',
    component: Main,
    meta: {
      hideInMenu: true,
      notCache: true
    },
    children: [
      {
        path: '/home',
        name: 'home',
        meta: {
          hideInMenu: true,
          title: '首页',
          notCache: true,
          icon: 'md-home'
        },
        component: () => import('@/view/single-page/home')
      }
    ]
  },
  // {
  //   path: '',
  //   name: 'doc',
  //   meta: {
  //     title: '文档',
  //     href: 'https://lison16.github.io/iview-admin-doc/#/',
  //     icon: 'ios-book'
  //   }
  // },
  {
    path: '/system',
    name: 'system',
    meta: {
      icon: 'md-menu',
      title: '系统设置',
      access: ['token_admin']
    },
    component: Main,
    children: [
      {
        path: 'user',
        name: 'user',
        meta: {
          icon: 'md-funnel',
          title: '账号管理',
          access: ['token_admin']
        },
        component: () => import('@/view/system/user.vue')
      },
      {
        path: 'position',
        name: 'position',
        meta: {
          icon: 'md-funnel',
          title: '账户角色',
          access: ['token_admin']
        },
        component: () => import('@/view/system/office/position.vue')
      },
      // {
      //   path: 'office',
      //   name: 'office',
      //   meta: {
      //     access: ['admin'],
      //     icon: 'md-funnel',
      //     showAlways: true,
      //     title: '职员管理',
      //     access: ['token_admin']
      //   },
      //   component: parentView,
      //   children: [
      //     {
      //       path: 'staff',
      //       name: 'staff',
      //       meta: {
      //         icon: '员工管理',
      //         title: '员工管理',
      //         access: ['token_admin']
      //       },
      //       component: () => import('@/view/system/office/staff.vue')
      //     }
      //   ]
      // }
    ]
  },
  {
    path: '/alliance',
    name: 'alliance',
    meta: {
      icon: 'md-menu',
      notCache: true,
      title: '客户管理',
      access: ['token_admin', 'token_sales']
    },
    component: Main,
    children: [
      {
        path: 'custApply',
        name: 'custApply',
        meta: {
          icon: 'md-funnel',
          notCache: true,
          title: '加盟申请',
          access: ['token_admin', 'token_sales']
        },
        component: () => import('@/view/alliance/custApply.vue')
      },
      {
        path: 'custAdmin',
        name: 'custAdmin',
        meta: {
          icon: 'md-funnel',
          title: '加盟管理',
          access: ['token_admin', 'token_sales']
        },
        component: () => import('@/view/alliance/custAdmin.vue')
      },
      {
        path: 'custCheck',
        name: 'custCheck',
        meta: {
          icon: 'md-funnel',
          title: '加盟审核',
          access: ['token_admin']
        },
        component: () => import('@/view/alliance/custCheck.vue')
      },
    ]
  },
  {
    path: '/sales',
    name: 'sales',
    meta: {
      icon: 'md-menu',
      title: '销售管理',
      access: ['token_admin', 'token_store']
    },
    component: Main,
    children: [
      {
        path: 'check',
        name: 'sales_check',
        meta: {
          icon: 'md-funnel',
          title: '财务审批',
          access: ['token_admin']
        },
        component: () => import('@/view/sales/check.vue')
      },
      {
        path: 'verify',
        name: 'sales_verify',
        meta: {
          icon: 'md-funnel',
          title: '仓库核实',
          access: ['token_admin', 'token_store']
        },
        component: () => import('@/view/sales/verify.vue')
      },
    ]
  },
  {
    path: '/purchase',
    name: 'purchase',
    meta: {
      icon: 'md-menu',
      title: '采购管理',
      access: ['token_admin', 'token_store', 'token_sales']
    },
    component: Main,
    children: [
      {
        path: 'info',
        name: 'purchase_info',
        meta: {
          icon: 'md-funnel',
          title: '采购信息',
          access: ['token_admin', 'token_store', 'token_sales']
        },
        component: () => import('@/view/purchase/info.vue')
      },
      {
        path: 'check',
        name: 'purchase_check',
        meta: {
          icon: 'md-funnel',
          title: '采购审批',
          access: ['token_admin']
        },
        component: () => import('@/view/purchase/check.vue')
      },
      {
        path: 'verify',
        name: 'purchase_verify',
        meta: {
          icon: 'md-funnel',
          title: '入库核实',
          access: ['token_admin', 'token_store']
        },
        component: () => import('@/view/purchase/verify.vue')
      },
    ]
  },
  {
    path: '/basic',
    name: 'basic',
    meta: {
      icon: 'md-menu',
      title: '基本设置',
      notCache: true,
      access: ['token_admin', 'token_store', 'token_sales']
    },
    component: Main,
    children: [
      {
        path: 'supplier',
        name: 'supplier',
        meta: {
          icon: 'md-funnel',
          title: '供应商管理',
          notCache: true,
          access: ['token_admin', 'token_sales']
        },
        component: () => import('@/view/basic/supplier/supplier.vue')
      },
      {
        path: 'warehouse',
        name: 'warehouse',
        meta: {
          icon: 'md-funnel',
          title: '仓库管理',
          access: ['token_admin', 'token_store']
        },
        component: () => import('@/view/basic/warehouse/warehouse.vue')
      },
      {
        path: 'unit',
        name: 'unit',
        meta: {
          icon: 'md-funnel',
          title: '计量单位',
          access: ['token_admin', 'token_store']
        },
        component: () => import('@/view/basic/unit/unit.vue')
      },
      {
        path: 'category',
        name: 'category',
        meta: {
          icon: 'md-funnel',
          title: '产品类型',
          access: ['token_admin', 'token_store']
        },
        component: () => import('@/view/basic/category/category.vue')
      },
      {
        path: 'product',
        name: 'product',
        meta: {
          icon: 'md-funnel',
          title: '产品管理',
          access: ['token_admin', 'token_store']
        },
        component: () => import('@/view/basic/product/product.vue')
      },
      {
        path: 'finished',
        name: 'finished',
        meta: {
          icon: 'md-funnel',
          title: '成品管理',
          access: ['token_admin', 'token_store']
        },
        component: () => import('@/view/basic/finished/finished.vue')
      },
    ]
  },
  // {
  //   path: '/report',
  //   name: 'report',
  //   meta: {
  //     icon: 'md-menu',
  //     title: '报表管理',
  //     access: ['token_admin']
  //   },
  //   component: Main,
  //   children: [
  //     {
  //       path: 'sell',
  //       name: 'sell',
  //       meta: {
  //         icon: 'md-funnel',
  //         title: '销售报表'
  //       },
  //       component: () => import('@/view/multilevel/level-2-1.vue')
  //     },
  //     {
  //       path: 'purchase',
  //       name: 'purchase',
  //       meta: {
  //         icon: 'md-funnel',
  //         title: '采购报表'
  //       },
  //       component: () => import('@/view/multilevel/level-2-1.vue')
  //     },
  //     {
  //       path: 'money',
  //       name: 'money',
  //       meta: {
  //         icon: 'md-funnel',
  //         title: '财务报表'
  //       },
  //       component: () => import('@/view/multilevel/level-2-1.vue')
  //     },
  //   ]
  // },
  {
    path: '/401',
    name: 'error_401',
    meta: {
      hideInMenu: true
    },
    component: () => import('@/view/error-page/401.vue')
  },
  {
    path: '/500',
    name: 'error_500',
    meta: {
      hideInMenu: true
    },
    component: () => import('@/view/error-page/500.vue')
  },
  {
    path: '*',
    name: 'error_404',
    meta: {
      hideInMenu: true
    },
    component: () => import('@/view/error-page/404.vue')
  }
]
